package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.survey.SurveyAnswerDetail;

/**
 * 答案详情Mapper接口
 * 
 */
public interface SurveyAnswerDetailMapper 
{
    /**
     * 查询答案详情
     * 
     * @param detailId 答案详情ID
     * @return 答案详情
     */
    public SurveyAnswerDetail selectSurveyAnswerDetailById(Long detailId);

    /**
     * 查询答案详情列表
     * 
     * @param surveyAnswerDetail 答案详情
     * @return 答案详情集合
     */
    public List<SurveyAnswerDetail> selectSurveyAnswerDetailList(SurveyAnswerDetail surveyAnswerDetail);
    
    /**
     * 根据答卷ID查询答案详情列表
     * 
     * @param answerId 答卷ID
     * @return 答案详情集合
     */
    public List<SurveyAnswerDetail> selectSurveyAnswerDetailByAnswerId(Long answerId);
    
    /**
     * 根据问题ID查询答案详情列表
     * 
     * @param questionId 问题ID
     * @return 答案详情集合
     */
    public List<SurveyAnswerDetail> selectSurveyAnswerDetailByQuestionId(Long questionId);

    /**
     * 新增答案详情
     * 
     * @param surveyAnswerDetail 答案详情
     * @return 结果
     */
    public int insertSurveyAnswerDetail(SurveyAnswerDetail surveyAnswerDetail);
    
    /**
     * 批量新增答案详情
     * 
     * @param details 答案详情列表
     * @return 结果
     */
    public int batchInsertSurveyAnswerDetail(List<SurveyAnswerDetail> details);

    /**
     * 修改答案详情
     * 
     * @param surveyAnswerDetail 答案详情
     * @return 结果
     */
    public int updateSurveyAnswerDetail(SurveyAnswerDetail surveyAnswerDetail);

    /**
     * 删除答案详情
     * 
     * @param detailId 答案详情ID
     * @return 结果
     */
    public int deleteSurveyAnswerDetailById(Long detailId);

    /**
     * 批量删除答案详情
     * 
     * @param detailIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteSurveyAnswerDetailByIds(Long[] detailIds);
    
    /**
     * 根据答卷ID删除答案详情
     * 
     * @param answerId 答卷ID
     * @return 结果
     */
    public int deleteSurveyAnswerDetailByAnswerId(Long answerId);
    
    /**
     * 根据问题ID删除答案详情
     * 
     * @param questionId 问题ID
     * @return 结果
     */
    public int deleteSurveyAnswerDetailByQuestionId(Long questionId);
} 